The present invention relates to video processing, and more particularly to real-time video production using recursive techniques that substantially reduce the cost of pipelined video processing.
Video processing generally is done with one of two techniques: process the video in real-time using a pipeline approach; or digitize the video and process it with a computer. The computer approach is flexible and may be implemented in a low cost fashion, but it has limited input/output and processing speed and renders much of its work in non-real-time. Pipelined processing is guaranteed to perform certain tasks in real-time, but can be expensive and inflexible.
A standard pipelined video processing system has multiple video inputs and one or more outputs, and is able to process and combine a certain number of video inputs, or layers, simultaneously and at full temporal and spatial resolution. The problem arises when more layers need to be combined. In the standard pipelined system a subset of the total layers is processed and recorded to tape or disk. This composite is then combined and processed with other layers at a later time. This process of "multiple passes" is done until all of the video layers are composited.
Aside from the additional time required to process these multiple passes, this process is undesirable because it is prone to operator errors. If the color, position or timing of the first layers are dependent upon layers which are to be combined later, the operator needs to use approximations and estimate how the final product will appear. If the result is not correct, much, if not all, of the work done to that point may need to be reprocessed. The bottom line is that once the number of layers, or level of processing, has crossed a fixed threshold, the operator is no longer able to preview the final result as the creative decisions are being made.
What is desired is an improved real-time video production process that maintains the speed of pipelined video processing at a reduced cost.